Log In  
BBS > Lexaloffle Community Superblog
This is a combined feed of all Lexaloffle user blogs. For Lexaloffle-related news, see @zep's blog.

All | Following | PICO-8 | Voxatron | General | Off-site
[ :: Read More :: ]

Cart #darksnake-0 | 2019-08-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

P#66375 2019-08-05 03:34 ( Edited 2019-08-05 03:35)
[ :: Read More :: ]


P#66371 2019-08-05 00:13
[ :: Read More :: ]

Cart #lonelykey-2 | 2019-08-05 | Code ▽ | Embed ▽ | No License
10

A short, Sokoban-style puzzle game with many doors, but only one key.

Made in 2 days for the 2019 GMTK Jam.

P#66365 2019-08-04 19:20 ( Edited 2019-08-05 07:42)
[ :: Read More :: ]

Cart #onennis-1 | 2019-08-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Hi all,

We created this over the last 48 hours for the 2019 GMTK Game Jam (https://itch.io/jam/gmtk-2019). Enjoy!

P#66364 2019-08-04 19:19 ( Edited 2019-08-04 19:48)
[ :: Read More :: ]

Cart #morse-2 | 2019-08-05 | Code ▽ | Embed ▽ | No License
8

This is a game submission for the 2019 GMTK gamejam (<48 hours) with the theme 'only one'. Use only one button to guide your companion using morse code.

https://puffpastryprince.itch.io/morse-course

Cart #morse-6 | 2019-08-10 | Code ▽ | Embed ▽ | No License
8

A lot of feedback requested more simple levels to start with so I added tutorial levels and undo function and now the rock/gem things act properly. I also added a command to ask for help ;D I'm keeping the submission version up until the jam is over.

P#66363 2019-08-04 19:18 ( Edited 2019-08-10 20:38)
[ :: Read More :: ]

Cart #backfireman-1 | 2019-08-22 | Code ▽ | Embed ▽ | No License
5

Gameplay

BACKFIRE MAN is out to save the world from demons, however all he is equipped with is a bomb. Using it tends to backfire a bit...

(This game was made for Game Maker's Toolkit Jam 2019 in less than 48 hours)

THEME

The theme is: "Only One"!

Controls

Move - Arrows
Throw bomb - X
Self explode/Reset - Hold Z

POST GAME JAM UPDATE

  • New animations
  • New levels
  • New pickups
  • More sounds

Credits

Sebastian Lind
https://twitter.com/Elastiskalinjen

Simon Bothén
https://twitter.com/caresilabs

P#66362 2019-08-04 19:05 ( Edited 2019-08-22 16:31)
[ :: Read More :: ]

WIP Rescue/platformer - find, feed and free the lost chicks!

Fly - push + hold (UP) in air; smash platforms (DOWN) to release seed;
On ground; (DOWN) to pick up, chicks fed on contact then 'nudge' towards
the exits at either end of the level < > (watch out for rats..)

Cart #flapable_01_23-0 | 2023-05-06 | Code ▽ | Embed ▽ | No License
1



P#66358 2019-08-04 17:58 ( Edited 2023-05-07 20:20)
[ :: Read More :: ]

Hi everyone,
I'm currently working on a game where multiple enemies (cubes) spawn in the corners of the screen, and then move towards the player. I also have what I call patterns, that are large rectangles moving along the screen. So I made this function that make the enemies collide with the pattern and bounce off it.
My problem is that some enemies just go through the pattern, or sometimes the opposite, bounce way too fast.
How would you guys handle stuff like this ?

-- this is called each frame when updating the enemies

-- r.x, r.y, r.w, and r.h are respectively the patterns location, width and height
-- dx and dy is the patterns directions
-- x,y, and s are respectively the enemies position and size
-- vx, and vy are the enemies velocity on each axis
if x+vx<r.x+r.w and
   x+s>r.x+dx and
   y+s>r.y+dy and
   y+vy<r.y+r.h then
 if x+vx<r.x then
  vx=-abs(vx)*1.15
 elseif x+vx+s>r.x+r.w then
  vx=abs(vx)*1.15
 end
 if y+vy<r.y then
  vy=-abs(vy)*1.15
 elseif y+vy+s>r.y+r.h then
  vy=abs(vy)*1.15
 end
end

-- this is to try and set a maximum value to the bounce
vx=min(abs(vx),bouncecap)*sgn(vx)
vy=min(abs(vy),bouncecap)*sgn(vy)
P#66353 2019-08-04 11:16
[ :: Read More :: ]

Cart #spaceshooterimproved-1 | 2019-08-06 | Code ▽ | Embed ▽ | No License

This is a simple space shooter game that I created as an example for the Pico-8 talk at the Knoxville Game Design July 2018 meeting.

The full description of the project is available at Space Shooter Improved.

Update - Moved starting position of enemies further up on the screen.

P#66348 2019-08-04 05:44 ( Edited 2019-08-06 08:12)
[ :: Read More :: ]

Cart #waterballoon_physics-1 | 2019-08-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14

Sketched out some water balloon physics - press any P8 button to restart with a randomized balloon size.

P#66345 2019-08-04 00:37
[ :: Read More :: ]

A few weeks ago, I tried to make a Sim City style game in an hour (for the onehourgamejam). I didn’t finish in time, and I spent several extra hours before accepting it would have to become a larger project. Since then I have been tinkering with it on and off, and I think I’m done now?

Note that this was never supposed to be a fully-featured Sim City clone - just a minimal thing with minimal features made in an hour or two.

Cart #dollarone_junction_city-1 | 2019-08-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Take control of Junction City and make it into a proper large city before you run out of money!

You can create jobs by building industry.

Jobs will attract people, but they also need houses to live in.

Finally, you can build shops to earn more money.

The goal is to make the largest city in terms of population. It is possible to breach 100k people, but it might not be straight-forward.

P#66342 2019-08-03 21:55 ( Edited 2019-08-03 22:18)
[ :: Read More :: ]

Cart #dapodejba-0 | 2019-08-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Description:

This is my entry for the GMYK game jam, The theme for GMTK Game Jam 2019 is "only one".
In Bong, there is only 1 ball, and 1 paddle. See how far you can get!

I'd like to have got some audio, or background music in for the competition but i ran out of time. The whole thing took about 7-8 hours start to finish, i spent a lot of time messing about with circle drawing algorithms... ugh, math.

Controls:

Z key - Start / Begin game.

Arrow keys - Move your paddle

P#66338 2019-08-03 19:50 ( Edited 2019-08-03 19:56)
[ :: Read More :: ]

Cart #metrash-2 | 2019-08-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
42

METRASH

A top-down-shooter metroid-like.

Cursors keys to move, Z / X to fire.

1 hour or less playtime, does not save.

This is my first Pico-8 project. Apart from the class definition (which I abstracted) I wrote the whole thing from scratch in 2 weeks of spare time. This meant it turned into more of a shmup odyssey than a metroidvania. I will have to listen to a lot of feedback before I know what weapons, monsters, and topography would have worked better.

Let me know what you'd expect from a sequel.

P#66332 2019-08-03 12:15 ( Edited 2019-08-08 07:37)
[ :: Read More :: ]

At 128 x 128 pixels, the Waveshare 1.44 inch display with controller is a perfect fit for Pico-8.

The screen Driver being installed, requires a Waveshare 1.44" 128x128 pixel colour LCD display, with joystick & 3 buttons which utilises an ST7735S controller.

Amazon UK link: https://www.amazon.co.uk/gp/product/B077YK8161
Amazon US link: https://www.amazon.com/waveshare-1-44inch-LCD-HAT-Interface/dp/B0781BNC9L/

Built, tested and confirmed working with both Raspbian Stretch lite and Buster lite-based images.

Begin by writing a fresh Raspbian Stretch or Buster Lite image to a 4GB or larger MicroSD card using your favoured image writing tool.

Caution:

Raspbian Buster appears to generate more heat after short periods on a Pi ZeroWH than Stretch does.

Whichever image you begin your build with, please monitor CPU temperature during use. I won't be held responsible for a baked Pi!

A Pi ZeroW can be set-up headless if a properly configured "wpa_supplicant.conf" and a blank file named "ssh" are copied to the root of the MicroSD card, after writing the image but before unplugging and inserting into the Pi.

ON FIRST BOOT

SSH into the Pi or plug-in a keyboard and monitor. Login with username "pi" and password "raspberry"

sudo raspi-config

Expand the filesystem
Set boot to CLI with auto-login
enable SPI
disable VNC
disable serial

I recommend changing the default password from "raspberry" to something more secure while you're still in raspi-config.

You may also wish to change the hostname while you're in here. I named mine pico8, so I can ssh to pico8.local from other machines for maintenance.

Exit raspi-config and reboot with

sudo reboot

Once rebooted, login as pi, then update and upgrade the OS and programs:

sudo apt-get update
sudo apt-get upgrade

Reboot once again and re-login if recommended by the upgrade process

Let's begin by getting Pico8 running on the Pi

sudo apt-get install libasound2-dev wiringpi
wget https://t.co/jZy96cDeCC?amp=1 -O sndio-1.2.0.tar.gz
tar -xf sndio-1.2.0.tar.gz
cd sndio-1.2.0
./configure
make
sudo make install
cd ~

Use SFTP (or USB) to transfer your personal Pico download zip file into /home/pi folder

Unzip your Pico8 Raspberry Pi zip file into /home/pi.
This should create a /home/pi/pico-8 folder, which will contain all of the files required to run Pico8.

Now we’ll get the Waveshare 1.44" 128x128 pixel LCD display hat working on the Pi

cd ~
sudo apt-get install git cmake
git clone https://github.com/tasanakorn/rpi-fbcp
cd rpi-fbcp/
mkdir build
cd build/
cmake ..
make
sudo install fbcp /usr/local/bin/fbcp

cd ~

wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.59.tar.gz
tar zxvf bcm2835-1.59.tar.gz
cd bcm2835-1.59/
./configure
make
sudo make check
sudo make install

Open and edit the modules file to enable the additional modules required to make the LCD function.

sudo nano /etc/modules

Append the two lines below to the end of the file, save and exit.

spi-bcm2835
fbtft_device

We need to create a new file for the fbtft configuration

sudo nano /etc/modprobe.d/fbtft.conf

Add the following lines to the empty file and save it.

# /etc/modprobe.d/fbtft.conf
options fbtft_device name=adafruit18_green gpios=reset:27,dc:25,cs:8,led:24 speed=40000000 bgr=1 fps=60 custom=1 height=128 width=128 rotate=180

Fortunately for us, Adafruit created a GPIO controller driver, so let's use this to make the Waveshare hat's controller and buttons work in pico-8.

cd ~
curl https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/retrogame.sh >retrogame.sh
sudo bash retrogame.sh

On the option screen, Select “6 buttons + joystick”. We’ll edit the resulting config file a little later to fit the 3 button and joystick layout of our hat.

Once installed; at the reboot prompt, type “N” so as NOT to reboot your Pi.

Now we’ll edit the configuration file installed and used by Adafruit’s retrogamer driver, to configure the correct number of buttons for the Waveshare hat.

sudo nano /boot/retrogame.cfg

Use CTRL-K to remove all lines from the file and paste the following lines into the now empty file before saving it and exiting nano.

LEFT    5   # Joypad left
RIGHT   26  # Joypad right
UP      6   # Joypad up
DOWN    19  # Joypad down
Z       20  # Button 3
X       16  # Button 2
ESC     21  # Button 1

Please ensure each entry is on a separate line as displayed above.

At this stage, we can set the correct display settings for the Waveshare 128x128 LCD within the file config.txt

sudo nano /boot/config.txt

Add to the end of the file and beginning on a new/empty line, the following lines:

display_rotate=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt=128 128 60 1 0 0 0
hdmi_force_hotplug=1

Save the file and exit nano.

Now let's put this all together and have Pico-8 run in "splore" mode at boot.

sudo nano /etc/rc.local

This file should should be as below. (All we're adding to the file are three lines near the end, each beginning with sudo):

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

sudo /usr/local/bin/fbcp &
sudo /usr/local/bin/retrogame &
sudo /home/pi/pico-8/pico8 -splore &

exit 0

Save this file and exit nano.

Shutdown and power-off the pi with

sudo shutdown now

Wait for the pi to shutdown, unplug the power-cable and connect the Waveshare LCD hat onto the GPIO connectors.

Be careful to connect the hat in the correct orientation, onto all 40 GPIO pins.

Plug-in, power-up and enjoy all colourful 128x128 pixels of Pico-8 glory on a tiny, square display and in complete silence!

Connect the Pi to the Internet via Wi-Fi (ZeroW), then use the joystick and KEY2 to update and download Pico-8 programs directly to the Pi.

KEY1 functions as Escape
KEY2 functions as X
KEY3 functions as Z

P#66331 2019-08-03 11:33 ( Edited 2019-08-11 17:32)
[ :: Read More :: ]

Cart #firework-0 | 2019-08-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

P#66313 2019-08-02 09:55
[ :: Read More :: ]

Cart #legit_cartridge-1 | 2019-08-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

it's a platformer, i swear

P#66304 2019-08-02 03:23 ( Edited 2019-08-02 05:11)
[ :: Read More :: ]

Cart #hejopibosa-2 | 2019-08-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#66301 2019-08-01 22:46 ( Edited 2019-08-01 23:27)
[ :: Read More :: ]

Cart #husozensi-0 | 2019-08-01 | Code ▽ | Embed ▽ | No License

P#66297 2019-08-01 21:32
[ :: Read More :: ]

Cart #simple_mouse-0 | 2019-08-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

For those learning PICO-8, you may have heard that you can write carts that access the hardware mouse. While the information to do this is not readily apparent, I put together this simple demonstration program with remarks to show how you can do it by reading the position and both buttons of the device.

-- simple introduction to
-- using stat(32,33,34)
-- for reading the mouse
-- by dw817 -- (08-01-19)
--
-- poke(24365,1)
-- enables keyboard + mouse
--
-- stat(32) mouse-x position
-- stat(33) mouse-y position
-- stat(34) =1 if left button
-- stat(34) =2 if right button
-- stat(34) =3 both buttons
--
-- flip() updates the screen

cls()
poke(24365,1) -- enable mouse

c=7
repeat
  color(7)

-- if right-button pressed,
-- change plotting color

  if stat(34)==2 then
    c=c+1
    if (c==16) c=1

-- if both buttons pressed,
-- clear the screen

  elseif stat(34)==3 then
    cls()
  end

-- read x+y position of mouse

  x=stat(32) y=stat(33)

-- if left button pressed,
-- draw on screen

  if stat(34)==1 then
    if ox!=nil then
      line(ox,oy,x,y,c)
    end
    ox=x oy=y
  else
    ox=nil
  end

  p=pget(x,y)
  pset(x,y,c)
  flip()
  pset(x,y,p)

-- loop until press [esc]

until forever

Those who want to reword this OOPS are welcome to.

Hope This Helps !

P#66295 2019-08-01 20:09 ( Edited 2019-08-01 20:12)
[ :: Read More :: ]

The world map for the Boo-Beam's World Super Mario Maker 2 Project. Work in Progress.

Cart #boobeammap-2 | 2019-08-01 | Code ▽ | Embed ▽ | No License
12

P#66282 2019-08-01 15:59 ( Edited 2019-08-01 16:45)
View Older Posts